1
La nécessité du Rust non sécurisé
AI034Lesson 19
00:00

Le langage caché à l'intérieur

Rust a un secret : il est en réalité deux langages en un. Alors que Rust sécurisé est votre gardien, le compilateur Rust est fondamentalement prudent. Il suit une philosophie stricte : il vaut mieux rejeter un programme valide et sûr que d'autoriser accidentellement un seul programme dangereux. Cela crée un écart entre ce que l'appareil peut faire et ce que le compilateur peut prouver.

La réalité rigide

Imaginons le compilateur comme un gardien strict. Dans notre exemple de code, la condition de correspondance si y s'applique à tout le groupe de motifs (4 | 5 | 6). Cette rigidité précedence mire comment fonctionne le vérificateur d'emprunt ; il applique des règles globales et sans compromis à votre mémoire. Mais le matériel informatique sous-jacent est inherentement instable; il ne comprend pas la propriété ou les durées de vie. Pour construire des outils haute performance comme split_at_mut, nous devons entrer dans le Rust non sécurisé 'passerelle d'évasion' pour effectuer des opérations qui sont techniques correctes mais logiquement trop complexes pour l'analyse statique du compilateur.

Tout code techniquement sûrProuvé sûr (vérificateur d'emprunt)La nécessité du non sécurisé

L'écart entre les cercles rouge et vert est là où vit le Rust non sécurisé — nous permettant d'atteindre tout le potentiel de l'appareil lorsque l'analyse statique échoue.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>